/*
    页面名称：超级管理员 -管理员列表
    作者: 苗怀雨
    时间:2017年12月31日
    最后编辑：2017年12月31日20:20:13
*/

$(document).ready(function() {
    /*添加员工按钮*/
    $("button.btn-success").click(function () {
            toAddAdmin();
    });

    /* 黑名单按钮 */
    $("button.btn-warning").click(function () {
            window.location.href ="blackAdminListPage";
    });

    /* 全部管理员按钮 */
    $("button.btn-primary").click(function () {
        window.location.href ="adminListPage";
    });

    /* 删除多个管理员确认 */
    $(".bs-example-modal-dag").find(".modal-footer").children("button.btn-primary").click(function () {
        deleteAdminGroup();
    });
});

/* 编辑管理员按钮*/
function editAdmin(e){
    var adminId = $(e).parents("tr").children('td').eq(1).text();
    window.location.href = "editAdminPage?adminId=" + adminId;
}

/* 删除管理员按钮 弹出删除管理员提示框*/
function deleteAdminInfo(e){
    var $modal = $(".bs-example-modal-da");
    var name = $(e).parents("tr").children('td').eq(2).text();
    var adminId = $(e).parents("tr").children('td').eq(1).text();

    $("h4",$modal).eq(1).text("删除管理员:"+ name);       //设置标题名称
    $(".btn-primary",$modal).attr("onclick","deleteAdmin("+adminId+");");  //设置确定按钮
}

//删除管理员
function deleteAdmin(adminId) {
    var $modal = $(".bs-example-modal-da");
    var $closeButton = $("button",$modal).eq(1);        //弹出框关闭按钮
    var $ensureButton = $("button",$modal).eq(2);       //弹出框确定按钮

    $ensureButton.attr("disabled","disabled"); //设置编辑确定按钮暂时不可用
    post("deleteAdmin","adminId",adminId);
}


/* 禁止管理员按钮*/
function forbiddenAdmin(e){
    var adminId = $(e).parents("tr").children('td').eq(1).text();
    var $releaseElem = $("<a href='#' class='btn btn-primary btn-xs' onclick='releaseAdmin(this)'><i class='fa fa-plus-square-o'></i> 解禁 </a>");
    var $thisParent = $(e).parent();
    var $stateElem = $thisParent.parent("tr").children("td").eq(3);

    $(e).removeAttr("onclick");
    $.ajax({
        type:'POST',//请求类型
        url:'forbiddenAdmin',//请求地址
        contentType: 'application/json;',//发送信息至服务器时内容编码类型
        data:JSON.stringify({
            "adminId":adminId,
        }),
        dataType:'JSON',/*预期服务器返回的数据类型*/
        success:function (json) {//成功获取到后台返回的值后，对后台返回的值做相应的一系列操作
            if(json.result == false){
                createPNotify("提示信息","error",json.err_msg);
            }else{
                $(e).remove();
                $thisParent.prepend($releaseElem);
                $stateElem.text("true");
            }
        },
        cache:true,
    });

}

/* 解禁管理员按钮*/
function releaseAdmin(e){
    var adminId = $(e).parents("tr").children('td').eq(1).text();
    var $forbElem = $("<a href='#' class='btn btn-warning btn-xs' onclick='forbiddenAdmin(this)'><i class='fa fa-minus-square-o'></i> 禁用 </a>");
    var $thisParent = $(e).parent();
    var $stateElem = $thisParent.parent("tr").children("td").eq(3);

    $(e).removeAttr("onclick");
    $.ajax({
        type:'POST',//请求类型
        url:'releaseAdmin',//请求地址
        contentType: 'application/json;',//发送信息至服务器时内容编码类型
        data:JSON.stringify({
            "adminId":adminId,
        }),
        dataType:'JSON',/*预期服务器返回的数据类型*/
        success:function (json) {//成功获取到后台返回的值后，对后台返回的值做相应的一系列操作
            if(json.result == false){
                createPNotify("提示信息","error",json.err_msg);
            }else{
                $(e).remove();
                $thisParent.prepend($forbElem);
                $stateElem.text("false");
            }
        },
        cache:true,
    });

}

/* 删除多个选定管理员 */
function deleteAdminGroup() {
    var adminArr = new Array();
    var adminId;
    var $checkboxes = $("input[type='checkbox']");
    var $modal = $(".bs-example-modal-dag");
    var $prompt = $("h4",$modal).eq(1);
    var $closeButton = $("button",$modal).eq(1);        //弹出框关闭按钮
    var $ensureButton = $("button",$modal).eq(2);       //弹出框确定按钮

    $ensureButton.attr("disabled","disabled");

    var dttable = $("#datatable-checkbox").dataTable();
    var nTrs = dttable.fnGetNodes();

    for(var i = 0;i < nTrs.length;i++){
        if($(nTrs[i]).children("td").eq(0).children("input").prop("checked")){
            adminId = $(nTrs[i]).children("td").eq(1).text();
            adminArr.push(adminId);
        }
    }   //end for

    if(adminArr.length == 0){     //如果没有选定
        // $ensureButton.removeAttr("disabled"); //设置编辑确定按钮可用
        // $closeButton.trigger("click");  //关闭弹出框
        createPNotify("提示","info","请选择要删除的管理员");
        return;
    }

    promptInformation($prompt,"success","正在删除...");

    // window.location.href ="deleteStaffGroup?staffList="+ staffArr.toString();
    post("deleteAdminGroup","adminList",adminArr.toString());
    // setTimeout(function () {    //刷新页面
    //     $closeButton.trigger("click");  //关闭弹出框
    //     //刷新列表
    //     clearTables($('#datatable-checkbox'));
    //     displayRoleList();
    //     $prompt.text("确定删除选定的？");   //清空提示信息
    //     $ensureButton.removeAttr("disabled"); //设置编辑确定按钮可用
    // },parseInt(1000 * roleArr.length + 500));
}

function adminList(e) {
    var $this = $(e);
    var pageNum = $this.text();
    var pageSize = $("#pageSize").val();

    var $form = $("<div class='postForm'></div>");
    var $elem = $("<div class='postParam'></div>");

    $elem.attr("id","pageNum");
    $elem.text(pageNum);
    $form.append($elem.clone());

    $elem.attr("id","pageSize");
    $elem.text(pageSize);
    $form.append($elem.clone());

    postForm("adminListPage",$form);
}

function blackAdminList(e) {
    var $this = $(e);
    var pageNum = $this.text();
    var pageSize = $("#pageSize").val();

    var $form = $("<div class='postForm'></div>");
    var $elem = $("<div class='postParam'></div>");

    $elem.attr("id","pageNum");
    $elem.text(pageNum);
    $form.append($elem.clone());

    $elem.attr("id","pageSize");
    $elem.text(pageSize);
    $form.append($elem.clone());

    postForm("blackAdminListPage",$form);
}
